<A HREF="icpmain.htm"><IMG src="btnicp.jpg" WIDTH=110 height=32 border=0 alt="Internet Control Pack"></A><BR></TD>
<TD WIDTH=470>
<!-- Nested table -->
<TABLE CELLPADDING=3 BORDER=0 CELLSPACING=0>
<TR VALIGN=TOP ><TD COLSPAN=2 WIDTH=470>
<FONT SIZE=4>Getting Started</FONT><P>
<FONT SIZE=2>Welcome to the Internet Control Pack. The present package includes a set of eight ActiveX Controls (formerly called OLE controls) that can be used with 32-bit versions of
Microsoft Access, Visual Basic, Visual C++ and Visual FoxPro. With these controls, you can create applications that work over any network supporting one of the following protocols: TCP/IP, FTP, HTTP, SMTP, and POP3.<P>
Until the Internet Control Pack, creating applications that would access the rich information sources of the Internet required learning about various low level Winsock Application Programming Interfaces (APIs) as well as the various protocols. The Internet Control Pack hides the complexity of creating Internet programs while exposing the versatility and power of ActiveX Controls.</FONT>
The HyperText Transfer Protocol is the protocol used for World Wide Web sites. This control allows you to gather data which can be parsed, filtered, or placed in a database.
The HyperText Markup Language is used to create World Wide Web documents. This control translates the language into viewable pages, allowing you to create your own custom Web browser. The control currently supports HTML version 2.0.
The Post Office Protocol (version 3) is the most commonly used protocol for email on the Internet. With this control you can create a virtual post office to store email messages.
The NNTP Client control is used to connect to a news server, retrieve a list of available newsgroups and their descriptions, enter a newsgroup, retrieve lists of articles or particular articles.<P>
To use these controls on the Internet, you also need the following:
<UL>
<LI>An Internet provider--a local commercial service that provides you access to the Internet.<BR>
<LI>A modem or ISDN line--a physical connection between you and your Internet provider.<BR>
<LI>Either a PPP (Point to Point Protocol) or a SLIP (Serial Line Internet Protocol)--provided by your Internet service. This allows you to fully access the graphic capabilities of the Internet.</UL><P>
The Internet Control Pack was designed with productivity and ease of use in mind. To this end, all you need--besides the controls--is to connect to your Internet provider, start up your application (Visual Basic, Visual C++, Visual FoxPro, or Microsoft Access), and begin programming.<P>
If you are using the controls on a local area network, you need to know which protocols are supported on the network. For example, most networks support the TCP/IP protocol, and this allows you to use the WinSock UDP or TCP controls. The following table shows the protocols supported by the controls.
<A NAME="INSTALL"></A><FONT SIZE=3><B>Installing the Controls</B></FONT><BR>
<IMG SRC="blueline.gif" WIDTH=470>
</TD>
</TR>
<TR VALIGN=TOP>
<TD COLSPAN=2 WIDTH=470>
<FONT FACE=ARIAL SIZE=2>
Methods to install the controls into the toolbox differ according to the application you are using.<P>
In <b>Visual Basic</b>:
<OL>
<LI>Click the Tools menu, then click Custom Controls.
<LI>Under Available Controls, select the control you want to use.
<LI>Click OK.
</OL>
<P>
In <b>Visual FoxPro</b>:
<OL>
<LI>Click the Tools menu, then click Options.
<LI>Click the Controls tab, then click the OLE controls option. Be sure the Controls check box is selected.
<LI>Under Selected, select the controls you wish to install.
<LI>Click Set as Default if you'd like to make these controls available in every Visual FoxPro session.
<LI>Click OK.
</OL>
<P>
For <b>Microsoft Access</b>:
<P>
While in form Design view:
<OL>
<LI>Click the Insert menu, then click Custom Control... .
<LI>Select the custom control you want to insert.
<LI>Click OK.
</OL>
<P>
If the custom control does not appear in the custom control dialog, it may not be correctly registered on your machine.<P>
To register a custom control:
<OL>
<LI>Click the Tools menu, then click Custom Controls... .
<LI>Click the Register button and locate the custom control .OCX or .DLL file to register.
<LI>Click OK.
</OL>
<P>
In <b>Visual C++</b>:<P>
Note: OLE controls are added to individual Visual C++ projects. To use an OLE control in multiple projects, you must add it to each project in which you want to use it.
<OL>
<LI>From the Insert menu, choose Component, <B>or</B> click the Component Gallery button. The Component Gallery dialog box appears.
<LI>In Component Gallery, select the OLE Controls pane (page, tab).
<LI>Select the control and click the Insert button. The Confirm Classes dialog box appears. This dialog lists the names for the C++ class, header file, and implementation file for each control begin added.
<LI>In the Confirm Classes dialog box, click OK. The control is added to the control pallet in the dialog template editor, and header and implementation files are added to the current project for this control.
The following is a short list of terms that occur in the documentation:<P>
<b>Client:</b> An application designed to connect to a remote machine and access data on the other machine. Part of a Client/Server relationship.<P>
<b>Data Streaming:</b> The transfer of data in a continuous stream of bytes, allowing transactions such as real-time sound transmission. Data streaming also allows you to efficiently pour data into a file, database, or other container.<P>
<b>MIME:</b> The Multipurpose Internet Mail Protocol communicates the type of data that is being sent in an electronic message. For example, a message can contain sound, video, images, as well as text. <P>
<b>Port Number:</b> Internet applications use a specific port number to communicate through. There are common port numbers assigned to types of applications. For example, HTTP servers (used for retrieving HTML documents) usually send and receive data through port 80.<P>
<b>Protocol:</b> A defined convention used to communicate between applications. For example, the HTTP protocol specifies how HTTP messages should be sent and recieved.<P>
<b>RFC:</b> A Request For Comments document (as in "RFC 977") is authored by an individual or group involved in the development of the Internet. Such documents define standards or propose new standards for Internet protocols. These documents are available for downloading from various sites. See the Internet References topic for specific FTP addresses.<P>
<b>Server:</b> An application that provides services and data for a Client application that resides on a remote machine.<P>
The Internet Control Pack is designed as a family of controls with a few common interfaces that allow you to develop applications quickly. Famliarizing yourself with these common interfaces can save you time later.<P>
<b>DocInput and DocOutput Objects</b><P>
An innovative feature of the Internet Control Pack are the <A HREF="http://internet/icp/us/icplang/vbobjDocInputObject.htm">DocInput object</A> and the <A HREF="http://internet/icp/us/icplang/vbobjDocOutputObject.htm">DocOutput object</A>. These objects, accessible from all controls except the WinSock controls, have properties and methods that allow you to stream data from one control to another. For example, using the DocOutput object, you can automatically stream data from a HTTP server to an FTP control when you wish to archive the data on an FTP server. For more information see <A HREF="http://internet/icp/us/icplang/vbmscDocInputOverviews.htm">Using the DocInput and DocOutput Objects.</A><P>
<b>icError Object and Collection</b><P>
Another common object is the <A HREF="http://internet/icp/us/icplang/vbobjicErrorObject.htm">icError object</A> and <A HREF="http://internet/icp/us/icplang/vbcolicpErrors.htm">icErrors collection</A>. The icError object stores error messages that originate from a network server. As errors may be numerous, the icError object can be stored in a collection for later retrieval.<P>
</FONT>
</TD>
</TR>
</TABLE>
</TD>
</TR>
<!-- New table row -->
<TR VALIGN=TOP>
<TD ALIGN=RIGHT Width=120> </TD>
<TD WIDTH=470>
<TABLE CELLPADDING=3 BORDER=0 CELLSPACING=0>
<TR VALIGN=TOP>
<TD COLSPAN=2 WIDTH=470>
<A NAME="DOCHEADER"></A><FONT SIZE=3><B>DocHeader Object and Collection</B></FONT><BR>
<IMG SRC="blueline.gif" WIDTH=470>
</TD>
</TR>
<TR VALIGN=TOP>
<TD COLSPAN=2 WIDTH=470>
<FONT FACE=ARIAL SIZE=2>
Some protocols, such as the MIME and the SMTP, require you to create a collection of document headers.<P>
For example, when sending a mail message, you will see these headers:<P>
Each line in the above example would be contained in a single <A HREF="http://internet/icp/us/icplang/vbobjDocHeaderObject.htm">DocHeader object</A>, and all four lines would be part of a <A HREF="http://internet/icp/us/icplang/vbcolDocHeadersCollection.htm">DocHeaders collection</A>.<P>
A DocHeader object has two properties: the <A HREF="http://internet/icp/us/icplang/vbproICPName.htm">Name property</A>, and the <A HREF="http://internet/icp/us/icplang/vbproValueDocHeader.htm">Value property</A>. The following code shows how you can create a simple header by first creating an object variable of type DocHeaders, instantiating the object, and then adding a DocHeader object to the collection.<P>
<BLOCKQUOTE>
Dim dhHeads As DocHeaders ' Object variable.<P>
Set dhHeads = New DocHeaders ' Instantiate object.<P>